﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Lib_general;

namespace HAM
{
    public partial class frmDmKho : Lib_frmParent.frmDanhmuc
    {
        private DmKho kho = new DmKho();
        private DataSet dskho = null;
        private int status = 0;

        public frmDmKho()
        {
            InitializeComponent();
            this.dvgDanhmuc.CurrentCellChanged += new EventHandler(dvgDanhmuc_CurrentCellChanged);
        }

        private void frmDmKho_Load(object sender, EventArgs e)
        {
            Load_data();
            ena_grodocument(true);
        }

        private void Load_data()
        {
            try
            {
                dvgDanhmuc.AutoGenerateColumns = false;
                dskho = kho.Load_form();
                dvgDanhmuc.DataSource = dskho.Tables[0];
                dvgDanhmuc.Columns[0].Name = "makho";
                dvgDanhmuc.Columns[0].DataPropertyName = "makho";
                dvgDanhmuc.Columns[0].HeaderText = "Mã kho";
                dvgDanhmuc.Columns[1].Name = "ten";
                dvgDanhmuc.Columns[1].DataPropertyName = "ten";
                dvgDanhmuc.Columns[1].HeaderText = "Tên kho";
            }
            catch { }
        }

        private void ena_grodocument(bool value)
        {
            txtmakho.Enabled = txttenkho.Enabled = !value;
        }

        private void clear_text()
        {
            txtmakho.Text = txttenkho.Text = "";
            txtmakho.Focus();
        }

        private void butmoi_Click(object sender, EventArgs e)
        {
            ena_grodocument(false);
            clear_text();
            status = 0;
        }

        private bool Kiemtra()
        {
            if (txtmakho.Text == "")
            {
                MessageBox.Show("Đề nghị nhập mã kho!");
                txtmakho.Focus();
                return false;
            }
            if (txttenkho.Text == "")
            {
                MessageBox.Show("Đề nghị nhập tên kho!");
                txttenkho.Focus();
                return false;
            }
            return true;
        }

        private void butluu_Click(object sender, EventArgs e)
        {
            if (!Kiemtra())
            {
                base.ena_object(true);
                return;
            }
            if (!kho.upd_dmkho(txtmakho.Text, txttenkho.Text, status))
            {
                MessageBox.Show("Không cập nhật được thông tin hoặc mã kho đã tồn tại!");
                txtmakho.Focus();
                base.ena_object(true);
                return;
            }
            Load_data();
            ena_grodocument(true);
        }

        private void butsua_Click(object sender, EventArgs e)
        {
            ena_grodocument(false); txtmakho.Enabled = false; txttenkho.Focus();
            status = 1;
        }

        private void butxoa_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Bạn có muốn xóa dữ liệu này không?", "SYSTEM", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                bool ok = kho.delete_dmkho(txtmakho.Text);
                if (!ok)
                    MessageBox.Show("Mã này đã phát sinh dữ liệu không thể xóa!");
            }
            Load_data();
        }

        private void butboqua_Click(object sender, EventArgs e)
        {
            ena_grodocument(true);
        }

        private void butketthuc_Click(object sender, EventArgs e)
        {

        }

        private void txtmakho_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter) SendKeys.Send("{Tab}");
        }

        private void dvgDanhmuc_CurrentCellChanged(object sender, EventArgs e)
        {
            try
            {
                txtmakho.Text = dvgDanhmuc.CurrentRow.Cells[0].Value.ToString();
                txttenkho.Text = dvgDanhmuc.CurrentRow.Cells[1].Value.ToString();
            }
            catch { }
        }
    }
}
